package _go

//一道智力题   n & n-1 的结果正好是 n的二进制最后一个1变成0  及1010 ->  1000   判断n》0 就好了

func hammingWeight(num uint32) int {
	if num == 0 {
		return 0
	}
	res := 0
	for num > 0 {
		// fmt.Printf("nums:%b \n",num)
		res++
		num &= num - 1
	}
	return res
}
